package com.company;

import java.util.HashMap;
import java.util.Hashtable;
import java.util.concurrent.ConcurrentHashMap;

public class C05HashMap_HashTable_ConcurrentHashMap {

    static ConcurrentHashMap concurrentHashMap;

    public static void main(String[] args){

//      Hashtable  JDK1.0开始
        Hashtable hashtable=new Hashtable();
//        hashtable.put(null,null); ->error

        // 创建 HashMap   JDK1.2开始
        HashMap<Integer, String> hashMap = new HashMap<Integer, String>();
        hashMap.put(null,null);



//        相同点：
//        1： 都是双列集合（键值对的形式）
//        2： 都是键不能重复，值可以重复的

//        不相同点：
//        1： 出现的JDK版本不同 HashMap JDK1.2开始 ；Hashtable  JDK1.0开始
//        2： Hashtable不能储存null键值对
//        3： HashMap：线程不同步；Hashtable：线程同步

//        引用场景：
//        优先使用HashMap，多线程的情况下使用 ConcurrentHashMap(同步)

//        ConcurrentHashMap:同步，效率较好
        concurrentHashMap=new ConcurrentHashMap();


    }

}
